Fixed #1112 Migrate to New NumPy Random Number Generator (RNG) API#1147
Fixed #1112 Migrate to New NumPy Random Number Generator (RNG) API#1147seanlaw wants to merge 5 commits into
Conversation
|
Review these changes at https://app.gitnotebooks.com/stumpy-dev/stumpy/pull/1147 |
|
@NimaSarajpoor I've created a new
|
|
@seanlaw Please allow me some time to take a look. Will provide an update in a couple of days. |
|
This function in Lines 963 to 1065 in 86145c2 Update We cannot easily recreate this test and, since it's such a low probability event, I've decided to remove the test altogether (open for discussion!) |
|
The function This allows it to be covered (likely by Update This was resolved by setting an RNG state that passes through the missing coverage code |
|
Update |
|
The Lines 87 to 106 in 86145c2 Update Luckily, the |
|
@NimaSarajpoor I believe that I've fully completed the migration. Looking forward to your review and apologies in advance for needing to change so many files! |
|
So, I just learned that the new random number generator does NOT guarantee the same results across different NumPy versions and so we are having some issues. In order to guarantee that we get the same results, we must continue using the old "legacy random number generator" (i.e., |
|
I think I have a clearer plan now. Will close this and try again! |
Is there any part in this PR that can help me understand where this created / can create an issue in STUMPY? Was checking the runs in Actions but couldn't find anything. It seems that the unit tests were completed successfully. |
So, all of the unit tests were passing on my machine, which brought me great joy. However, while all of the unit tests passed in Github Actions, one of the coverage tests failed: https://github.com/stumpy-dev/stumpy/actions/runs/29119219021/job/86450147736 This was very surprising because the same tests passed locally on my machine and the coverage displayed 100%. Since, I could easily reproduce the random state on my laptop but I couldn't reproduce the missing coverage, I did some research and learned about the issue with the new RNG. |
|
Got it. Thanks! |
See issue #1112
This is a second attempt that follows failed PR #1131
Pull Request Checklist
Below is a simple checklist but please do not hesitate to ask for assistance!
black(i.e.,python -m pip install blackorconda install -c conda-forge black)flake8(i.e.,python -m pip install flake8orconda install -c conda-forge flake8)pytest-cov(i.e.,python -m pip install pytest-covorconda install -c conda-forge pytest-cov)black --exclude=".*\.ipynb" --extend-exclude=".venv" --diff ./in the root stumpy directoryflake8 --extend-exclude=.venv ./in the root stumpy directory./setup.sh dev && ./test.shin the root stumpy directoryTo Do List
stumpy/*.pyandtests/test_*pyfilesnp.random.rand(x)withrng.RNG.random(x)np.random.rand(x*y).reshape(x,y)withrng.RNG.random(size=(x, y))np.random.uniform(x, y, [z])withrng.RNG.uniform(x, y, size=z)np.random.permutation([x, y, z])withrng.RNG.permutation([x, y, z])np.random.randint(x, y, z)withrng.RNG.integers(x, y, z)np.random.choice([x, y], l, replace=True)withrng.RNG.choice([x, y], l, replace=True)np.random.normal(size=x)withrng.RNG.normal(size=x)np.randomfrom docstrings, README, tutorials, etctests/test_non_normalized.pystumpy/*.pyandtests/test_*pyfiles